package automat;
/**
 * @author rudz
 */
public class G51TestAntalBilletterSolgt

{
	public static void main(String[] arg)
	{
		Billetautomat preAutomat = new Billetautomat();
		
		/*
		 *  Pre-condition test.
		 */
		if (preAutomat.erMontør()) return;
		preAutomat.montørLogin("1234");
		if (!preAutomat.erMontør()) return;
		preAutomat.udskrivBillet();
		if (preAutomat.getAntalBilletterSolgt()!=0) return;
		if (preAutomat.getBilletpris()!=10) return;
		preAutomat.nulstil();
		preAutomat.returpenge();
		preAutomat.indsætPenge(30);
		if (preAutomat.getBalance()!=30) return;
		preAutomat.montørLogin("");
		if (preAutomat.erMontør()) return;
		System.out.println("** Pre-condiction test gennemført.");
		System.out.println();
		System.out.println();
		preAutomat = null;
		
		
		int antalFejl=0, retur=0;
		String fejlBeskeder="";
		Billetautomat automat = new Billetautomat();

		
		/*
		 * Tester getAntalBilletterSolgt();
		 */

		// logger ind.
		automat.montørLogin("1234");
		
		// retunere 0
		retur = automat.getAntalBilletterSolgt();
		
		// udskriver billet
		automat.udskrivBillet();

		
		// **********
		// Post-condition.
		// **********

		
		// skulle blive 0 hvis der ikke er solgt en billet ved udskrivBillet().
		retur-=automat.getAntalBilletterSolgt();
		
		if ((retur!=0)) {
			// forøger antalFejl og tilføjer information om fejlen til fejlBeskeder
			antalFejl++;
			fejlBeskeder+=antalFejl+". getAntalBilletterSolgt() - Antallet af billetter solgt er ikke 0. Retunerede "+retur+"\n";
		}
		// logger ud
		automat.montørLogin("");
		
		System.out.println("** Test gennemført.");
		System.out.println();
		System.out.println();

		System.out.println();
		System.out.println();
		// selvforklarende
		if (antalFejl==0) {
			System.out.println("Automaten er fejlfri, HURRA!!!");
		} else {
			System.out.println("Der blev fundet "+antalFejl+" fejl i automaten:");
			System.out.println(fejlBeskeder);
			System.out.println("Automaten har fejl, ØV!!!");			
		}
		automat = null;
	}
}